fc1822f61a80452f09d086d3461cf0a70539ae2a,src/main/org/codehaus/groovy/transform/EqualsAndHashCodeASTTransformation.java,EqualsAndHashCodeASTTransformation,calculateHashStatements,#ClassNode#Expression#boolean#boolean#List#List#,115

Before Change


            Expression getter = new MethodCallExpression(VariableExpression.THIS_EXPRESSION, getterName, MethodCallExpression.NO_ARGUMENTS);
            final Expression args = new TupleExpression(result, getter);
            final Expression current = new StaticMethodCallExpression(HASHUTIL_TYPE, "updateHash", args);
            body.addStatement(assignStatement(result, current));

        }
        for (FieldNode fNode : fList) {

After Change


            Expression getter = new MethodCallExpression(VariableExpression.THIS_EXPRESSION, getterName, MethodCallExpression.NO_ARGUMENTS);
            final Expression args = new TupleExpression(result, getter);
            final Expression current = new StaticMethodCallExpression(HASHUTIL_TYPE, "updateHash", args);
            body.addStatement(new IfStatement(identicalExpr(getter, new VariableExpression("this")),
                    EmptyStatement.INSTANCE,
                    assignStatement(result, current)));

        }
        for (FieldNode fNode : fList) {